﻿using PersistenceLayer.Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace PersistenceLayer.DAL
{
	public class Carrinho_ProdutosDAL
	{
		private Entities Entity;

		public Carrinho_ProdutosDAL()
		{
			Entity = new Entities();
		}

		public long Adicionar(Carrinho_Produtos cp)
		{
			Entity.Carrinho_Produtos.Add(cp);
			Entity.SaveChanges();
			return cp.ID;
		}

		public void Atualizar(Carrinho_Produtos cp)
		{
			var old = Entity.Carrinho_Produtos.Where(a => a.ID == cp.ID).Single();
			Entity.Entry(old).CurrentValues.SetValues(cp);
			Entity.SaveChanges();
		}

		public Carrinho_Produtos Obter(long cpID)
		{
			return Entity.Carrinho_Produtos.Where(a => a.ID == cpID).SingleOrDefault();
		}

		public List<Carrinho_Produtos> ListarPorCliente(Int64 cID)
		{
			return Entity.Carrinho_Produtos.Where(a => a.Cliente_ID == cID).ToList();
		}

		public void Deletar(Carrinho_Produtos cp)
		{
			Entity.Carrinho_Produtos.Remove(cp);
			Entity.SaveChanges();
		}
	}
}
